home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 010 / games.arc / DATA-IN.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1980-01-01  |  2.9 KB  |  60 lines

  1. 30000  ROW = 20 : COLUMN = 20 : LENGTH = 20
  2. 30010  CLS
  3. 30020  GOSUB 30330
  4. 30030  PRINT B$
  5. 30040  STOP
  6. 30050  '**********************************************************************
  7. 30060  '**  INPUT SUBROUTINE           VERS 1.1              JUNE 20, 1982  **
  8. 30070  '**                                                                  **
  9. 30080  '**  FOR THIS SUBROUTINE,  GIVE THE ROW AND COLUMN WHERE YOU WOULD   **
  10. 30090  '**  LIKE THE INPUT TO APPEAR ON THE SCREEN,  AND THE MAXIMUM LENGTH **
  11. 30100  '**  OF THE INPUT STRING. THEN GOSUB 30330 (OR WHAT YOU RENUM IT TO) **
  12. 30110  '**                                                                  **
  13. 30120  '**  THIS PROGRAM WILL PRINT -LENGTH- # OF SMALL SQUARES AT THE      **
  14. 30130  '**  GIVEN LOCATION IN THIS FORM   <UNK! {FEFE}><UNK! {FEFE}><UNK! {FEFE}><UNK! {FEFE}><UNK! {FEFE}><UNK! {FE20}> ,  AND THEN START    **
  15. 30140  '**  ACCEPTING INPUT FROM THE KEYBOARD.  AS YOU TYPE IN THE DATA,    **
  16. 30150  '**  IT WILL OVERLAY THE SMALL SQUARES IN THIS FASHION -             **
  17. 30160  '**                                                                  **
  18. 30170  '**  SMITH<UNK! {FEFE}><UNK! {FEFE}><UNK! {FEFE}>                                                     **
  19. 30180  '**                                                                  **
  20. 30190  '**  AS INPUT OF A LAST NAME.  AT ANY TIME YOU MAY -                 **
  21. 30200  '**  (1) TYPE MORE LETTERS UP TO THE LIMIT SET BY 'LENGTH'           **
  22. 30210  '**  (2) BACKSPACE BY USE OF THE BACK-ARROW KEY (TO CORRECT ERRORS)  **
  23. 30220  '**  (3) FINISH BY HITING THE 'RETURN' KEY                           **
  24. 30230  '**                                                                  **
  25. 30240  '**  THE PROGRAM WILL NOT LET YOU CREATE AN INPUT LONGER THAN        **
  26. 30250  '**  LENGTH OR BACKSPACE TO BEFORE THE FIRST CHARACTER               **
  27. 30260  '**                                                                  **
  28. 30270  '**  IF YOU ENTERED AN ANSWER TO THE POINT ILLISTRATED ABOVE,        **
  29. 30280  '**  AND THEN HIT 'RETURN',  THE SUBROUTINE WILL RETURN TO THE MAIN  **
  30. 30290  '**  WITH THE INPUT IN B$.  EG. B$ = "SMITH"  NOT "SMITH<UNK! {FEFE}><UNK! {FEFE}><UNK! {FEFE}>"      **
  31. 30300  '**                                                                  **
  32. 30310  '**********************************************************************
  33. 30320  '
  34. 30330  B$ = ""
  35. 30340  FOR X = 1 TO LENGTH
  36. 30350  B$ = B$ + CHR$(254)
  37. 30360  NEXT X
  38. 30370  LOCATE ROW,COLUMN
  39. 30380  PRINT B$;
  40. 30390  '
  41. 30400  '
  42. 30410  '
  43. 30420  POINTER = 1 : A$ = " "
  44. 30430  WHILE (ASC(A$) <> 13)
  45. 30440  A$ = INPUT$(1)
  46. 30450  IF (POINTER > LENGTH) AND (ASC(A$) = 13) THEN 30570
  47. 30460  IF (POINTER > LENGTH) AND (ASC(A$) = 8) THEN 30520
  48. 30470  IF (POINTER > LENGTH) THEN 30570
  49. 30480  IF (ASC(A$) >= 32) THEN MID$(B$,POINTER,1) = A$ : POINTER = POINTER + 1 :       GOTO 30550
  50. 30490  IF (POINTER = 1) AND (ASC(A$) = 8) GOTO 30550
  51. 30500  IF (ASC(A$) <> 8) THEN 30540
  52. 30510     MID$(B$,POINTER,1) = CHR$(254)
  53. 30520     MID$(B$,POINTER-1,1) = CHR$(254)
  54. 30530     POINTER = POINTER -1
  55. 30540  IF (ASC(A$) = 13) THEN B$ = MID$(B$,1,POINTER-1) : POINTER = LENGTH + 1
  56. 30550  LOCATE ROW,COLUMN
  57. 30560  PRINT B$
  58. 30570  WEND
  59. 30580  RETURN
  60.